/**
 * Created by YangYan on 2016/5/23.
 */
(function () {
    function Set(){
        this.values={};
        this.n=0;
        this.add.apply(this,arguments);
    };
    Set.prototype.add=function(){
        for(var i=0;i<arguments.length;i++){
            var val=arguments[i];
            var str=Set._v2s(val);
            if(!this.values.hasOwnProperty(str)){
                this.values[str]=val;
                this.n++;
            }
        }
        return this;
    };

    Set._v2s=function(val){
      switch (val){
          case undefined: return 'u';
          case null:return 'n';
          case true:return 't';
          case false:return 'f';
          default:switch(typeof val){
              case 'number':return '#'+val;
              case 'string':return '"'+val;
              default:return '@'+objectId(val);
          }
      } ;
        function objectId(o){
            var prop="|**objectId**|";
            if(!o.hasOwnProperty){}
        }
    };
})();